// 系统相关的 mixin
import systemUtils from '../utils/system.js'

export default {
    data() {
        return {
            statusBarHeight: 0,
            navBarHeight: 0,
            safeAreaInsets: {
                top: 0,
                right: 0,
                bottom: 0,
                left: 0
            }
        }
    },
    mounted() {
        // 在组件挂载时获取系统信息
        this.getStatusBarHeight()
    },
    methods: {
        // 获取状态栏高度
        getStatusBarHeight() {
            this.statusBarHeight = systemUtils.getStatusBarHeight()
            this.navBarHeight = systemUtils.getNavBarHeight()
            this.safeAreaInsets = systemUtils.getSafeAreaInsets()
            return this.statusBarHeight
        },

        // 获取安全区域底部高度
        getSafeAreaBottom() {
            return systemUtils.getSafeAreaBottom()
        },

        // 获取安全区域顶部高度
        getSafeAreaTop() {
            return systemUtils.getSafeAreaTop()
        },

        // 获取安全区域左侧宽度
        getSafeAreaLeft() {
            return systemUtils.getSafeAreaLeft()
        },

        // 获取安全区域右侧宽度
        getSafeAreaRight() {
            return systemUtils.getSafeAreaRight()
        },

        // 是否有刘海或挖孔
        hasNotch() {
            return systemUtils.hasNotch()
        },

        // 设置页面 padding-top 以适配状态栏
        setPagePaddingTop() {
            const page = document.querySelector('.page') || document.querySelector('.container')
            if (page) {
                page.style.paddingTop = this.statusBarHeight + 'px'
            }
        }
    }
}